package main

import "fmt"

/*
（1）结构体类型是值类型，在方法调用中，遵守值类型的传递机制，是值拷贝传递方式
（2）如程序员希望在方法中，改变结构体变量的值，可以通过结构体指针的方式来处理
（3）Golang中的方法作用在指定的数据类型上的，和指定的数据类型绑定，因此自定义类型，都可以有方法，
而不仅仅是struct，比如int , float32等都可以有方法
*/
type integer int

func (i integer) print() {
	i = 30
	fmt.Println("i打印值 = ", i)
}
func (i *integer) change() {
	*i = 30
	fmt.Println("i打印值 = ", *i)
}
func main() {
	var i integer = 20
	i.print()
	fmt.Println("i原始值 = ", i)

	fmt.Println("---------------- ---------------- ----------------")

	i.change()
	fmt.Println("i原始值 = ", i)
}
